// /*
//  * Copyright (c) 2017 Baidu, Inc. All Rights Reserve.
//  *
//  * Licensed under the Apache License, Version 2.0 (the "License");
//  * you may not use this file except in compliance with the License.
//  * You may obtain a copy of the License at
//  *
//  *     http://www.apache.org/licenses/LICENSE-2.0
//  *
//  * Unless required by applicable law or agreed to in writing, software
//  * distributed under the License is distributed on an "AS IS" BASIS,
//  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  * See the License for the specific language governing permissions and
//  * limitations under the License.
//  */
// package com.bytedesk.core.uid.utils;

// import org.apache.commons.lang.StringUtils;
// import org.slf4j.Logger;
// import org.slf4j.LoggerFactory;

// /**
//  * DockerUtils
//  * 
//  * @author yutianbao
//  */
// public abstract class DockerUtils {
//     private static final Logger LOGGER = LoggerFactory.getLogger(DockerUtils.class);

//     /** Environment param keys */
//     private static final String ENV_KEY_HOST = "JPAAS_HOST";
//     private static final String ENV_KEY_PORT = "JPAAS_HTTP_PORT";
//     private static final String ENV_KEY_PORT_ORIGINAL = "JPAAS_HOST_PORT_8080";

//     /** Docker host & port */
//     private static String DOCKER_HOST = "";
//     private static String DOCKER_PORT = "";

//     /** Whether is docker */
//     private static boolean IS_DOCKER;

//     static {
//         retrieveFromEnv();
//     }

//     /**
//      * Retrieve docker host
//      * 
//      * @return empty string if not a docker
//      */
//     public static String getDockerHost() {
//         return DOCKER_HOST;
//     }

//     /**
//      * Retrieve docker port
//      * 
//      * @return empty string if not a docker
//      */
//     public static String getDockerPort() {
//         return DOCKER_PORT;
//     }

//     /**
//      * Whether a docker
//      * 
//      * @return
//      */
//     public static boolean isDocker() {
//         return IS_DOCKER;
//     }

//     /**
//      * Retrieve host & port from environment
//      */
//     private static void retrieveFromEnv() {
//         // retrieve host & port from environment
//         DOCKER_HOST = System.getenv(ENV_KEY_HOST);
//         DOCKER_PORT = System.getenv(ENV_KEY_PORT);

//         // not found from 'JPAAS_HTTP_PORT', then try to find from 'JPAAS_HOST_PORT_8080'
//         if (StringUtils.isBlank(DOCKER_PORT)) {
//             DOCKER_PORT = System.getenv(ENV_KEY_PORT_ORIGINAL);
//         }

//         boolean hasEnvHost = StringUtils.isNotBlank(DOCKER_HOST);
//         boolean hasEnvPort = StringUtils.isNotBlank(DOCKER_PORT);

//         // docker can find both host & port from environment
//         if (hasEnvHost && hasEnvPort) {
//             IS_DOCKER = true;

//             // found nothing means not a docker, maybe an actual machine
//         } else if (!hasEnvHost && !hasEnvPort) {
//             IS_DOCKER = false;

//         } else {
//             LOGGER.error("Missing host or port from env for Docker. host:{}, port:{}", DOCKER_HOST, DOCKER_PORT);
//             throw new RuntimeException(
//                     "Missing host or port from env for Docker. host:" + DOCKER_HOST + ", port:" + DOCKER_PORT);
//         }
//     }

// }
